<?php
require_once '../Generique/header_complet_javascript.php';
require_once "../Securite/parser_chaines.php";
afficher_header();
$_SESSION['modeCreationChapitre'] = 0;

$bdd = ouvrirBase();

//Si une notification est ajoutée, alors un cadre va apparaître en bas de la page pour afficher du texte
$notification = "";

if( isset( $_GET['numero'] ) && is_numeric($_GET['numero']) )
{
	if( $_GET['numero'] <= -1 && verifierAuteur( $bdd ) && isset( $_GET['idChapitrePrecedent']  ) && verifierHistPrec( $bdd , $_GET['idHistoire'] , $_GET['idChapitrePrecedent'] ) )
	{	
		$req = $bdd->prepare('SELECT * FROM dil_chapitres WHERE dil_chapitres.id = :id ');
		$req->bindValue('id',$_GET['idChapitrePrecedent'], PDO::PARAM_INT);
		$req ->execute();
		$donnees = $req->fetch();
		
		$req = $bdd->prepare('SELECT * FROM dil_histoires WHERE dil_histoires.id = :chapitre ');
		$req->bindValue('chapitre', $donnees['idHistoire'], PDO::PARAM_INT);
		$req ->execute();
		$donneesHist = $req->fetch();

		if( $donnees['niveau'] < $donneesHist['niveau']-1 )
		{
			if( isset( $_GET['numero_choix'] ) && concordancePrecChoix( $bdd , $_GET['idChapitrePrecedent'] , $_GET['numero_choix'] ) )
			{
				$_SESSION['idHistoire'] = securite_chaine($donnees['idHistoire']);
				$_SESSION['modeCreationChapitre'] = -securite_chaine($_GET['numero']);
				$_SESSION['numeroChoix'] = securite_chaine($_GET['numero_choix']);
				$_SESSION['idChapitrePrecedent'] = securite_chaine($_GET['idChapitrePrecedent']);
				echo '<script type="text/javascript">location.href = "ajoutChapitre.php";</script>';
			}
			else
			{
				$notification = "Choix precedent non valide.";
			}
		}
		else
		{
			$notification = "Il n'est plus possible de continuer l'histoire pour l'instant, il faut attendre qu'un checkpoint soit construit pour le niveau suivant";
		}
		
		//ZONE DE NOTIFICATION : pour l'affichage des différentes notifications
		echo '
			<div id="notification">
				'.$notification.'
			</div>';
	}
	else if( $_GET['numero'] > 0 && verifierChapitre( $bdd , $_GET['numero'] ) )
	{
		$_SESSION['modeCreationChapitre'] = 0;
		$idChapitrePrecedent = $_GET['numero'];
			
		$req = $bdd->prepare('SELECT * FROM dil_chapitres WHERE id = :chapitre ');
		$req->bindValue('chapitre',$_GET['numero'], PDO::PARAM_INT);
		$req ->execute();
		$donnees = $req->fetch();

		//Gestion des marque page
		//Si l'utilisateur est logué, l'image du marque page est un lien que l'on peut cliquer pour ajouter un marque page
		if( verifierAuteur( $bdd ) )
		{
			if(isset($_POST['marquePage_x']) )
			{
				//on vérifie que l'entrée n'existe pas déjà
					
				$req = $bdd->prepare('SELECT COUNT(*) FROM dil_marquepages
					WHERE pseudo = :pseudo AND idChapitre = :chapitre');
				$req->bindValue('pseudo',$_SESSION['nom'], PDO::PARAM_STR);
				$req->bindValue('chapitre',$_GET['numero'], PDO::PARAM_INT);
				$req ->execute();

				$enregistre = $req->fetch();
				if($enregistre['COUNT(*)']<1)
				{
					$req = $bdd->prepare('INSERT INTO dil_marquepages (pseudo, idChapitre)
						VALUES(:pseudo,:chapitre)');
					$req->bindValue('pseudo',$_SESSION['nom'], PDO::PARAM_STR);
					$req->bindValue('chapitre',$_GET['numero'], PDO::PARAM_INT);
					$req ->execute();
					//affichage dans la zone de notification
					$notification = 'La page a bien été marquée';
				}
				else
				{
					$notification = 'Cette page a déjà été marquée';
				}
			}
				
				
			?>
				<br />
				<form action="" method="post">
				<p>
					<input type="image" id="marquePage"
					src="../Images/Chapitre/marquePageUp.png" alt="Marquer cette page"
					name="marquePage" onmouseover="agrandir();" onmouseout="retrecir();" />
				</p>
				</form>
			<?php
			
		}
		//sinon on affiche l'image sans lien
		else
		{
			echo '<img id="marquePage" alt="marquePage" src="../Images/Chapitre/marquePageUp.png" />';
		}

		//CORPS DU CHAPITRE
		echo '<div id="paragraphe">';
		if(isset($donnees['autorise']) && $donnees['autorise'] == true )
		{
			echo '<h1>' . $donnees['titre'] . '</h1>';
		}
		else
		{
			echo '<h1>TEXTE CENSURE</h1>';
		}
		//NOM DE L'AUTEUR
		echo'<h3 id="auteur">';
			echo '<a href="afficherLesHistoires.php?nom='. $donnees['pseudo'] . '">'. $donnees['pseudo'] . '</a>';
		echo '</h3>';
				
		if(isset($donnees['autorise']) && $donnees['autorise'] == true )
		{
				echo '<p>
				';
					//affichage de la lettrine
					echo affiche_Lettrine(substr($donnees['description'], 0, 1));
					//puis du paragraphe sans la premiere lettre
					echo nl2br(substr($donnees['description'], 1, strlen($donnees['description'])-1)).'
				</p>';
		}
		else
		{
			echo '<p>******************************************************************************</p>';
		}
		//BLOC DES CHOIX
		echo '
				<div id="blocChoix">
				<ul>';
		for( $i = 1 ; $i < 4 ; $i++ )
		{
			if( $donnees['descChoix' . $i] != '' )
			{
				//AFFICHAGE DU CHOIX
				echo '
					<li class="unChoix">
					<a href="chapitre.php?idChapitrePrecedent=' . $idChapitrePrecedent . '&amp;numero=' . $donnees['idPageChoix' . $i] . '&amp;numero_choix=' . $i . '&amp;idHistoire=' . $donnees['idHistoire']. '&amp;">';
						//on va regarder si le choix redirige vers un chapitre existant, sinon on grise le choix
						if($donnees['idPageChoix' . $i] == -1){
							$styleChoix = 'choixNonCree';
						}
						else{
							$styleChoix = 'choixCree';
						}
				
						echo '<span class="'. $styleChoix . '">';
							if( $donnees['autorise'] == true )
							{
								echo  $donnees['descChoix' . $i];
							}
							else
							{
								echo  "********************" ;
							}
						echo '</span>	
						</a>
					</li>';
				
			}
		}
		echo '
			</ul>
		</div>
		';
				
		//ZONE DE REVIEWS
		//on va avoir besoin d'afficher le nombre de reviews actuelles sur le chapitre courant
		$reqReviews = $bdd->prepare('SELECT COUNT(*) FROM dil_reviews WHERE dil_reviews.idChapitre = :id' );
		$reqReviews->bindValue('id',$_GET['numero'], PDO::PARAM_INT);
		$reqReviews->execute();
		$nbrReviews = $reqReviews->fetch();
		echo '<div id="reviews">
				<a href="review.php?chapitre='.$_GET['numero'].'">
					<input  type="button" value="Commentaires (' . $nbrReviews['COUNT(*)'] . ')" name="Lire" />
				</a>
			</div>';

		//ZONE DE NOTIFICATION : pour l'affichage des différentes notifications
		echo '
				<div id="notification">
					'.$notification.'
				</div>';

		//PIED DE CHAPITRE
		echo '<div id="piedChapitre">';
			//on va maintenant afficher le nom de l'histoire
			$req4 = $bdd->prepare('SELECT * FROM dil_histoires WHERE dil_histoires.id = :id ');
			$req4->bindValue('id',$donnees['idHistoire'], PDO::PARAM_INT);
			$req4->execute();
			$donnees4 = $req4->fetch();
			echo '<p><b>' . $donnees4['nomUnivers'] . '</b><br/>' . $donnees4['titre'] . '<br/></p>';
		echo '</div>';
			//ZONE DE BOUTONS DE MODIFICATION
			echo '<div id="boutons">';
				//EXPLORATION
				echo 	'<a href="hierarchie.php?idHistoire=' . $donnees['idHistoire'] . '">
					<input type="submit" value="Exploration" name="Exploration" />
					</a>';
				
				//CENSURAGE
				if( isset( $_SESSION['nom'] ) && verifierModerateurUnivers($bdd, $donnees4['nomUnivers'] , $_SESSION['nom'] ) )
				{
					echo '<a href="censurer.php?numero=' . $_GET['numero'] . '">';
					if( $donnees['autorise'] )
							{
								$censure = 'Censurer';
							}
							else
							{
								$censure = 'De-censurer';
							}
					echo '<input type="submit" value="'. $censure .' " name="Censure" />';
					echo '</a>';
				}
				
				$histoire = getHistoire($bdd, $_GET['numero']);
				//MODIFICATION
				//on ne peut modifier un chapitre que si l'on est un modérateur de l'univers, administrateur, le créateur de l'histoire ou bien le créateur du chapitre
				if( verifierAuteurHistoire( $bdd , $donnees['idHistoire'] ) )
				{
					echo '<a href="modifChapitre.php?idChapitre=' . $_GET['numero'] . '">';
						echo '<input type="button" value="Modifier" name="Modifier" />';
					echo '</a>';
				}
		echo 	'</div>
		</div>';
	}
	else
	{
		echo "
			<p> Il n'y a pas de page ecrite et vous n'êtes pas logué, vous ne pouvez donc ecrire de chapitre </p>
			";
	}
}

else
{
	echo 'Page inexistante.';
}
?>

<script
	type="text/javascript" src="../Javascript/chapitres.js"></script>

<?php include("../Generique/pied.php"); ?>
